package org.zxp.thread.threadlocal.contextdemo;

/**
 * 这是一个模拟上下文的实现
 * 在主方法中，通过ThreadContext.setVal设置了一个值
 * 那么只要在本线程中任意方法中调用ThreadContext.getVal()都能获得上下文的值，正是应用了ThreadLocal的特点
 */
public class AppTestMain {
	public static void main(String[] args) {
		TempObj t = new TempObj();
//		t.setValue(""+Math.random());
		int hashcode = t.hashCode();
		///以上是获取hashcode的
		
		ThreadContext.setVal("zxp"+hashcode);
		System.out.println("mainPRINT1===="+ThreadContext.getVal());
		AppTestBeanch1 appTestBeanch1 = new AppTestBeanch1();
		appTestBeanch1.test(hashcode);
		System.out.println("mainPRINT2===="+ThreadContext.getVal());
		AppTestBranch2 appTestBeanch2 = new AppTestBranch2();
		appTestBeanch2.test(hashcode);
		System.out.println("mainPRINT2===="+ThreadContext.getVal());
		
	}
}
